x86/ucode: Fix errors with start/end_update()
authorAndrew Cooper <andrew.cooper3@citrix.com>
Mon, 1 Jun 2020 14:37:20 +0000 (15:37 +0100)
committerAndrew Cooper <andrew.cooper3@citrix.com>
Tue, 2 Jun 2020 18:18:44 +0000 (19:18 +0100)
commit3659f54e9bd31f0f59268402fd67fb4b4118e184
tree50d9e64b9efc05cfcf57cd98ce8b8d7f809f14a3
parentb1e3a3c874b9bab32cc56820ae3e3d568c120181
x86/ucode: Fix errors with start/end_update()

c/s 9267a439c "x86/ucode: Document the behaviour of the microcode_ops hooks"
identified several poor behaviours of the start_update()/end_update_percpu()
hooks.

AMD have subsequently confirmed that OSVW don't, and are not expected to,
change across a microcode load, rendering all of this complexity unecessary.

Instead of fixing up the logic to not leave the OSVW state reset in a number
of corner cases, delete the logic entirely.

This in turn allows for the removal of the poorly-named 'start_update'
parameter to microcode_update_one(), and for svm_host_osvw_{init,reset}() to
become static.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
Release-acked-by: Paul Durrant <paul@xen.org>
xen/arch/x86/acpi/power.c
xen/arch/x86/cpu/microcode/amd.c
xen/arch/x86/cpu/microcode/core.c
xen/arch/x86/cpu/microcode/private.h
xen/arch/x86/hvm/svm/svm.c
xen/arch/x86/smpboot.c
xen/include/asm-x86/hvm/svm/svm.h
xen/include/asm-x86/microcode.h